|
如上代码:
<Route key={'r1'+index} path={value.url} component={ value.component}value.component是组件的名称,字符串类型,如何将字符串类型,转成相对应的变量1. 考虑react中是否可以使用Eval方法(未实践) 2. 不用eval实现 思路: 比如服务器返回组件String ‘< ComponentName />’, 用正则取到ComponentName, 把React组件存到一个 Components对象 选择组件 Components[ComponentName],放到render渲染 。 代码如下: var components = {"About":About,"Product":Product,"Port":Port,"Fruits":Fruits,"Vegetables":Vegetables,"PersonCenter":PersonCenter};
var menuRouter = menuOne.map(function (value, index) {
var menuTwo = menuArrTemp.filter((item)=>{return item.parentId === value.menuId});
return (<Route key={'r1'+index} path={value.url} component={ components[value.component]}></Route>
);
});参考:http://react-china.org/t/react-eval/22748 |
|
|